Methods and apparatus to measure exposure to streaming media

ABSTRACT

Methods and apparatus to measure exposure to streaming media are described. An example method includes extracting metering data from media obtained from a media provider. Metadata identifying the media based on the extracted metering data is generated. The media is transcoded into a transport stream, the transport stream having a streaming format. The metadata is embedded in a timed text track accompanying the transport stream.

FIELD OF THE DISCLOSURE

This disclosure relates generally to measuring media exposure, and, moreparticularly, to methods and apparatus to measure exposure to streamingmedia.

BACKGROUND

Streaming enables media to be delivered to and presented by a widevariety of media presentation devices, such as desktop computers, laptopcomputers, tablet computers, personal digital assistants, smartphones,etc. A significant portion of media (e.g., content and/oradvertisements) is presented via streaming to such devices.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of an example system for measuring exposure tostreaming media.

FIG. 2 is a block diagram of an example implementation of the mediamonitor of FIG. 1.

FIG. 3 is example Hypertext Markup Language (HTML) code representing aweb page that may be displayed by the example client device of FIG. 2.

FIG. 4 illustrates example timed text track code representing an exampletimed text track that may be used by the example media monitor of FIG.2.

FIG. 5 is a flowchart representative of example machine-readableinstructions which may be executed to implement the example serviceprovider of FIG. 1

FIG. 6 is a flowchart representative of example machine-readableinstructions which may be executed to implement the example mediamonitor of FIGS. 1 and/or 2.

FIG. 7 is a block diagram of an example implementation of an example HLSstream that may be delivered to the example media monitor of FIG. 2.

FIG. 8 is a block diagram of an example processor platform capable ofexecuting the example machine-readable instructions of FIGS. 5 and/or 6to implement the example service provider of FIG. 1 and/or the examplemedia monitor of FIGS. 1 and/or 2.

DETAILED DESCRIPTION

Example methods, apparatus, systems, and articles of manufacturedisclosed herein may be used to measure exposure to streaming media.Some such example methods, apparatus, and/or articles of manufacturemeasure such exposure based on media metadata, user demographics, and/ormedia device types. Some examples disclosed herein may be used tomonitor streaming media transmissions received at client devices such aspersonal computers, tablets (e.g., an iPad®), portable devices, mobilephones, Internet appliances, and/or any other device capable of playingmedia. Some example implementations disclosed herein may additionally oralternatively be used to monitor playback of media which is locallystored in media devices. Example monitoring processes disclosed hereincollect media metadata associated with media presented via media devicesand associate the metadata with demographics information of users of themedia devices. In this manner, detailed exposure metrics are generatedbased on collected media metadata and associated user demographics.

The use of mobile devices (e.g., smartphones, tablets, MP3 players,etc.) to view media has increased in recent years. Initially, serviceproviders created custom applications (e.g., apps) to display theirmedia. As more types of mobile devices having different softwarerequirements, versions, compatibilities, etc., entered the market,service providers began displaying streaming media in a browser of themobile device. Consequently, many users view streaming media via thebrowser of their mobile device. In view of the increasing popularity ofaccessing media in this manner, understanding how users interact withthe streaming media (e.g., such as by understanding what media ispresented, how the media is presented, etc.) provides valuableinformation to service providers, advertisers, content providers,manufacturers, and/or other entities.

In the examples illustrated herein, media is received from a mediaprovider such as, for example, a satellite provider, a cable provider, aphysical media provider (e.g., a Digital Versatile Disk (DVD)-by-mailservice, etc.). The media is provided to be streamed from a serviceprovider to one or more client devices for presentation thereon. In theillustrated example, the media is provided as a transport stream. Insome examples, metering data having a first format is extracted from thetransport stream. In some such examples, the transport streamcorresponds to a Moving Picture Experts Group (MPEG) 2 transport streamsent according to a hypertext transfer protocol (HTTP) live streaming(HLS) protocol. However, the transport stream may additionally oralternatively correspond to and/or be sent according to any other past,present, or future format such as, for example, MPEG 4, an HTTP Secureprotocol (HTTPS), a file transfer protocol (FTP), a secure file transferprotocol (SFTP).

Audio watermarking is a technique used to identify media such astelevision broadcasts, radio broadcasts, downloaded media content,streaming media content, prepackaged media content, etc. Existing audiowatermarking techniques identify media by embedding audio codes (e.g., awatermark), such as identifying information, into an audio and/or videocomponent having a signal level sufficient to hide the watermark. Asused herein, the terms “code” or “watermark” are used interchangeablyand are defined to mean an identifier that may be inserted or embeddedin the audio or video of media (e.g., a program or advertisement) forthe purpose of identifying the media or for another purpose such astuning (e.g., a packet identifying header).

Unlike media monitoring techniques based on codes and/or watermarksincluded with and/or embedded in the monitored media, fingerprint orsignature-based media monitoring techniques generally use one or moreinherent characteristics of the monitored media during a monitoring timeinterval to generate a substantially unique proxy for the media. Such aproxy is referred to as a signature, and can take the form of a seriesof digital values, a waveform, etc., representative of the mediasignal(s), such as the audio and/or video signals, forming the mediapresentation being monitored. A good signature is usually one that isrepeatable when processing the same media presentation, but that isunique when processing other presentations of other media. Accordingly,the term “fingerprint” and “signature” are used interchangeably and aredefined to mean a proxy for identifying media that is generated from oneor more inherent characteristics of the media.

Signature-based media monitoring generally involves determining (e.g.,generating and/or collecting) signature(s) representative of a mediasignal (e.g., an audio signal and/or a video signal) output by amonitored media device and comparing the monitored signature(s) to oneor more references signatures corresponding to known (e.g., reference)media sources. Various comparison criteria, such as a cross-correlationvalue, a Hamming distance, etc., can be evaluated to determine whether amonitored signature matches a particular reference signature. When amatch between the monitored signature and one of the referencesignatures is found, the monitored media can be identified ascorresponding to the particular reference media source represented bythe reference signature that matched the monitored signature. Becauseattributes, such as an identifier of the media, a presentation time, abroadcast channel, etc., are collected for the reference signature,these attributes may then be associated with the monitored media whosemonitored signature matched the reference signature.

In some examples, metadata embedded in the media is in a first format(e.g., a watermark, a signature, a code, etc.). In some examples, themetering data having the first format includes an audio watermark thatis embedded in an audio portion of the media. Additionally oralternatively, the metering data having the first format can include avideo (e.g., image) watermark that is embedded in a video portion of themedia. Many client devices do not have access to the metadata in thefirst format, and/or in some cases, enough processing power to identifythe metadata in the first format. Thus, in the examples illustratedherein, the service provider identifies the watermark, and converts themetadata into a second format readable by the client device. Themetadata in the second format may correspond to, for example, metadatarepresented in a text format, such as a text format for inclusion in atimed text track file sent in association with the streaming media.

A timed text track is a document and/or file that is linked to,transmitted with, and/or embedded in a web page that causes display ofmedia. The timed text track defines times for displaying text (e.g.,closed captioning, subtitles, comments, advertisements, metadata, etc.)at corresponding places and/or times associated with the presentation ofthe media. For example, the timed text track may specify that the phrase“This is a patentable invention” should be displayed at time 00:01:12after the start of the media presentation should the closed captioningoption be utilized by the displaying device (e.g., a television, etc.).In the examples illustrated herein, the timed text track is identifiedin a web page for displaying media. An example web page showing anexample manner in which a timed text track may be associated with mediais shown in FIG. 3. In the illustrated example, the timed text track isrequested separately from the web page based on a source attribute of atimed text track tag in the web page. Thus, the timed text track islinked to the web page, but not bodily incorporated therein in theexample of FIG. 3. However, in some examples, the timed text track isincluded in the web page.

The timed text track document includes start cues, end cues, and dataassociated with those cues. The start cues and end cues define times inthe associated media that trigger an event associated with the timedtext track. In some examples, the timed text track document is used tocause the display of subtitles and/or captioning data defined in thedata associated with the cues. Upon reaching a start cue, the subtitlesand/or captioning data are displayed. Upon reaching an end cue, thesubtitles and/or captioning data are removed from display. An exampletimed text track file is shown in FIG. 4.

In some disclosed examples, streaming media is delivered to the clientdevice using HTTP Live Streaming (HLS) via a HyperText Markup Languageversion 5 (HTML5) web page. However, any other past, present, and/orfuture method of streaming media to the client device may additionallyor alternatively be used such as, for example, an HTTP Secure (HTTPS)protocol. Additionally or alternatively, any other past, present, and/orfuture web page language may additionally or alternatively be used. TheHyperText Markup Language version 5 (HTML5) allows metadata to beincluded in a timed text track and/or otherwise associated with, forexample, a media stream, etc. In some disclosed examples, a clientdevice uses a browser to display media received via HLS. Additionally oralternatively, in some disclosed examples the client device uses a mediapresenter (e.g., a browser plugin, an app, a framework, an applicationprogramming interface (API), etc.) to display media received via HLS.

In some examples illustrated herein, the client device requests the webpage from a service provider. In some examples illustrated herein, thewebpage defines a timed text track document that is to be separatelyrequested by the client device. In some examples, the timed text trackdocument is hosted by the service provider. However, in other examples,the timed text track document is hosted by an entity other than theservice provider such as, for example, the central facility of theaudience measurement entity, etc. In some examples, the timed text trackis included in the web page such that no additional request is needed toaccess the timed text track document.

In examples illustrated below, media exposure metrics are monitored byretrieving metadata transported in the timed text track. In someexamples, the metadata is retrieved via a Document Object Model (DOM)object. The DOM is a cross-platform and language-independent utility forrepresenting and interacting with objects in Hypertext Markup Language(HTML). However, any other past, present, and/or future format,language, protocol, etc. may additionally or alternatively be used suchas, for example, HTML5. The DOM provides an internal representation ofthe web page being presented. Accessing the DOM via, for example,JavaScript, enables access to objects defined in the web page including,for example, the timed text track.

In some examples, the metadata is stored in an ID3 tag format within thetimed text track, although any other past, present, and/or futuremetadata format may additionally or alternatively used. In someexamples, media presenters (e.g., media plugins) such as, for example,the QuickTime player, emit DOM events such as, for example cue changeevents triggered by a defined cue in the timed text track. In theexamples illustrated herein, the DOM events are captured via JavaScript.However, any other past, present, and/or future script, language,instruction set etc. may additionally or alternatively be used. Bycapturing the DOM events, it is possible to extract the metadata (e.g.,the ID3 tag data) of the timed text track events via the DOM. Onceextracted, the metadata may be combined with other information such as,for example, cookie data associated with the device, a timestamp, etc.and transmitted to, for example, a central facility for analysis and/orcompilation with data collected from other devices.

Example methods, apparatus, systems, and articles of manufacturedisclosed herein involve extracting or collecting metadata (e.g.,metadata stored in an ID3 tag, extensible markup language (XML) basedmetadata, and/or metadata in any other past, present, and/or futureformat) associated with streaming media transmissions (e.g., streamingaudio and/or video) at a client device. In some examples, the metadataidentifies one or more of a genre, an artist, a song title, an albumname, a transmitting station/server site, etc. In such examples, highlygranular (e.g., very detailed) data can be collected. Whereas in thepast ratings were largely tied to specific programs or broadcastingstations, example methods, apparatus, systems, and/or articles ofmanufacture disclosed herein can generate ratings for a genre, anartist, a song, an album/CD, a particular transmitting/server site, etc.in addition to, or as an alternative to, generating ratings for specificprograms (e.g., radio, television, etc.), advertisements, contentproviders, broadcasters, and/or stations.

In some examples, metadata collection may be triggered based on mediachange events detected in media players (e.g., a media presentationevent such as, for example, a change defined in a timed text track, astart event, a stop event, a skip event, etc.). A media change eventtypically causes a change in information identified by the extractedmetadata (e.g., a change in genre, a change in artist, a change intitle, etc.) and, thus, can be a useful trigger for data collection. Insome examples, media change events are detected while the media is beingplayed. In the illustrated example, media change events are detectedwhen there is a change associated with a timed text track of thestreaming media (e.g., upon detection of a timed text track event,etc.). In some examples, the collected metadata is time stamped based onits time of collection.

Example methods, apparatus, systems, and articles of manufacturedisclosed herein collect demographic information associated with usersof client devices based on identifiers (e.g., an Internet protocol (IP)address, a cookie, a device identifier, etc.) associated with thoseclient devices. Media exposure information may then be generated basedon the media metadata and the user demographics corresponding to theidentifier to indicate exposure metrics and/or demographic reach metricsfor at least one of a genre, an artist, an album name, a transmittingstation/server site, etc.

In some examples, it is desirable to link demographics to the monitoringinformation. To address this issue, the audience measurement entityestablishes a panel of users who have agreed to provide theirdemographic information and to have their streaming media activitiesmonitored. When an individual joins the panel, they provide detailedinformation concerning their identity and demographics (e.g., gender,race, income, home location, occupation, etc.) to the audiencemeasurement entity. The audience measurement entity sets an identifier(e.g., a panelist cookie) on the presentation device that enables theaudience measurement entity to identify the panelist whenever thepanelist reports access to streamed media. In particular, each panelistis provided with a media monitor that reports access(es) to streamedmedia to a central facility of the audience measurement entity. In someexamples, the media monitor reports access(es) to streamed media as theaccess(es) occur (e.g., streaming). In some examples, the media monitorcaches (e.g., stores, buffers, etc.) the access(es) to streamed mediaand transmits the cached access(es) to the central facility. In theillustrated example, the media monitor transmits the identifier alongwith the access(es) (e.g., in the form of a cookie).

Example methods, apparatus, systems, and articles of manufacturedisclosed herein may also be used to generate reports indicative ofmedia exposure metrics on one or more different types of client devices(e.g., personal computers, portable devices, mobile phones, tablets,etc.). For example, an audience measurement entity may generate mediaexposure metrics based on metadata extracted from the streaming media atthe client device and/or similar devices. A report is then generatedbased on the media exposure to indicate exposure measurements (e.g., fora type of media (e.g., a genre)) using different types of clientdevices. Thus, for example, reports indicating the popularity ofwatching, for instance, sports events on certain types of client devices(e.g., mobile devices, tablets, etc.) can be compared to otherpopularities of watching sports events on other types of client devices(e.g., televisions, personal computers, etc.).

Additionally or alternatively, popularities of different types of mediaacross different device types may be compared. Such different types ofmedia may be, for example, news, movies, television programming,on-demand media, Internet-based media, games, streaming games, etc. Suchcomparisons may be made across any type(s) and/or numbers of devicesincluding, for example, cell phones, smart phones, dedicated portablemultimedia playback devices, iPod® devices, tablet computing devices(e.g., an iPad®, etc.), standard-definition (SD) televisions,high-definition (HD) televisions, three-dimensional (3D) televisions,stationary computers, portable computers, Internet radios, etc. Anyother type(s) and/or number of media and/or devices may be analyzed. Thereport may also associate the media exposure metrics with demographicsegments (e.g., age groups, genders, ethnicities, etc.) corresponding tothe user(s) of the client device(s). Additionally or alternatively, thereport may associate the media exposure metrics with metric indicatorsof popularity of artist, genre, song, title, etc., across one or moreuser characteristics selected from one or more demographic segment(s),one or more age group(s), one or more gender(s), and/or any other usercharacteristic(s).

In some examples, the media exposure metrics are used to determinedemographic reach of streaming media, ratings for streaming media,engagement indices for streaming media, user affinities associated withstreaming media, broadcast media, and/or any other audience measuremetric associated with streaming media and/or locally stored media. Insome examples, the media exposure metrics are audience share metricsindicative of percentages of audiences for different device types thataccessed the same media. For example, a first percentage of an audiencemay be exposed to news media via smart phones, while a second percentageof the audience may be exposed to the same news media via tablets.

FIG. 1 is a block diagram of an example system 100 constructed inaccordance with the teachings of this disclosure for measuring exposureto streaming media. The example system 100 of FIG. 1 monitors mediaprovided by an example media provider 110 for presentation on an exampleclient device 160 via an example network 150. The example of FIG. 1includes an example service provider 120, an example media monitor 165,and an example central facility 170 of an audience measurement entity.While the illustrated example of FIG. 1 discloses an exampleimplementation of the service provider 120, other exampleimplementations of the service provider 120 may additionally oralternatively be used, such as the example implementations disclosed inco-pending U.S. patent application Ser. No. 13/341,646, which is herebyincorporated by reference herein in its entirety.

The media provider 110 of the illustrated example of FIG. 1 correspondsto any one or more media provider(s) capable of providing media forpresentation at the client device 160. The media provided by the mediaprovider(s) 110 can provide any type of media, such as audio, video,multimedia, etc. Additionally, the media can correspond to live (e.g.,broadcast) media, streaming media, stored media, on-demand content, etc.

The service provider 120 of the illustrated example of FIG. 1 providesmedia services to the client device 160 via, for example, web pagesincluding links (e.g., hyperlinks, embedded media, etc.) to mediaprovided by the media provider 110. In the illustrated example, theservice provider 120 modifies the media provided by the media provider110 prior to transmitting the media to the client device 160. In theillustrated example, the service provider 120 includes an example mediaidentifier 125, an example transcoder 130, an example metadata embedder135, and an example media transmitter 140.

The media identifier 125 of the illustrated example of FIG. 1 isimplemented by a logic circuit such as a processor executinginstructions, but it could additionally or alternatively be implementedby an application specific integrated circuit(s) (ASIC(s)), programmablelogic device(s) (PLD(s)) and/or field programmable logic device(s)(FPLD(s)), an analog circuit, and/or other circuitry. The mediaidentifier 125 of FIG. 1 extracts metering data (e.g., signatures,watermarks, etc.) from the media obtained from the media provider 110.For example, the media identifier 125 can implement functionalityprovided by a software development kit (SDK) to extract one or moreaudio watermarks, one or more video (e.g., image) watermarks, etc.,embedded in the audio and/or video of the media obtained from the mediaprovider 110. (For example, the media may include pulse code modulation(PCM) audio data or other types of audio data, uncompressed video/imagedata, etc.)

The example media identifier 125 of FIG. 1 determines (e.g., derives,decodes, converts, etc.) the metering data (e.g., such as mediaidentifying information, source identifying information, etc.) includedin or identified by a watermark embedded in, associated with, and ortransmitted with the media, and converts this metering data into a textand/or binary format for inclusion in an ID3 tag and/or other data type(e.g., text, binary, etc.) for insertion as metadata in a timed texttrack associated with the streaming media.

The example transcoder 130 of the illustrated example of FIG. 1 isimplemented by a logic circuit such as a processor executinginstructions, but could additionally or alternatively be implemented byan analog circuit, ASIC, DSP, FPGA, and/or other circuitry. In someexamples, the transcoder 130 and the media identifier 125 areimplemented by the same physical processor. In the illustrated example,the transcoder 130 employs any appropriate technique(s) to transcodeand/or otherwise process the received media into a form suitable forstreaming (e.g., a streaming format). For example, the transcoder 130 ofthe illustrated example transcodes the media in accordance with MPEG 4audio/video compression for use via the HLS protocol.

The metadata embedder 135 of the illustrated example of FIG. 1 isimplemented by a logic circuit such as a processor executinginstructions, but could additionally and/or alternatively be implementedby an analog circuit, ASIC, DSP, FPGA, and/or other circuitry. In someexamples, the transcoder 130, the media identifier 125, and the metadataembedder 135 are implemented by the same physical processor.

In the illustrated example, the metadata embedder 135 embeds themetadata determined by the media identifier 125 into a timed text trackdocument. In the illustrated example, the timed text track is in a WebVideo Text Track (WebVTT) format. However, any other past, present,and/or future format such as, for example, a Timed Text Markup Language(TTML) format may additionally or alternatively be used. In someexamples, the metadata embedder 135 inserts ID3 tag metadatacorresponding to the metering metadata into the timed text trackdocument to identify particular events within the media such as, forexample, when an advertisement is displayed via product placement, whena dedicated advertisement is displayed, when a particular event occurswithin the media (e.g., when a contestant on a television game showanswers a question, when a televised movie returns from anadvertisement, etc.), etc. Additionally or alternatively, the metadataembedder 135 may embed the metadata into a separate metadata document,such as by encoding the metadata into an M3U8 or other data file that isto be associated with (e.g., included in, appended to, sent prior to,etc.) the media.

The media transmitter 140 of the illustrated example of FIG. 1 isimplemented by a logic circuit such as a processor executinginstructions, but could additionally or alternatively be implemented byan analog circuit, ASIC, DSP, FPGA, and/or other circuitry. In someexamples, the transcoder 130, the media identifier 125, the metadataembedder 135, and the media transmitter 140 are implemented by the samephysical processor.

The media transmitter 140 employs any appropriate technique(s) to selectand/or stream the media to a requesting device, such as the clientdevice 160. For example, the media transmitter 140 of the illustratedexample selects media that has been identified by the media identifier125, transcoded by the transcoder 130 and undergone metadata embeddingby the metadata embedder 135. The media transmitter 140 then streams themedia to the client device 160 via the network 150 using HLS or anyother streaming protocol.

In some examples, the media identifier 125, the transcoder 130, and/orthe metadata embedder 130 prepare media for streaming regardless ofwhether (e.g., prior to) a request is received from the client device160. In such examples, the already-prepared media is stored in a datastore of the service provider 120 (e.g., such as in a flash memory,magnetic media, optical media, etc.). In such examples, the mediatransmitter 140 prepares a transport stream for streaming thealready-prepared media to the client device 160 when a request isreceived from the client device 160. In other examples, the mediaidentifier 125, the transcoder 130, and/or the metadata embedder 130prepare the media for streaming in response to a request received fromthe client device 160.

The network 150 of the illustrated example is the Internet. Additionallyor alternatively, any other network(s) communicatively linking theservice provider 120 and the client device such as, for example, aprivate network, a local area network (LAN), a virtual private network(VPN), etc. may be used. The network 150 may comprise any number ofpublic and/or private networks using any type(s) of networkingprotocol(s).

The client device 160 of the illustrated example of FIG. 1 is acomputing device that is capable of presenting streaming media providedby the media transmitter 140 via the network 150. The client device 160may be, for example, a tablet, a desktop computer, a laptop computer, amobile computing device, a television, a smart phone, a mobile phone, anApple® iPad®, an Apple® iPhone®, an Apple® iPod®, an Android™ computingdevice, a Palm® webOS® computing device, etc. In the illustratedexample, the client device 160 includes a media monitor 165. In theillustrated example, the media monitor 165 is implemented by a mediaplayer (e.g., a browser, a local application, etc.) that presentsstreaming media provided by the media transmitter 140. For example, themedia monitor 165 may additionally or alternatively be implemented inAdobe® Flash® (e.g., provided in a SWF file), may be implemented inhypertext markup language (HTML) version 5 (HTML5), may be implementedin Google® Chromium®, may be implemented according to the Open SourceMedia Framework (OSMF), may be implemented according to a device oroperating system provider's media player application programminginterface (API), may be implemented on a device or operating systemprovider's media player framework (e.g., the Apple® iOS® MPMoviePlayersoftware), etc., or any combination thereof. In the illustrated example,the media monitor 165 reports metering data to the central facility 170.While a single client device 160 is illustrated, any number and/ortype(s) of media presentation devices may be used.

The central facility 170 of the illustrated example is a facility of anaudience measurement entity (e.g., the Nielsen Company (US) LLC) andincludes an interface to receive reported metering information (e.g.,metadata) from the media monitor 165 of the client device 160 via thenetwork 150. In the illustrated example, the central facility 170includes an HTTP interface to receive HTTP requests that include themetering information. The HTTP requests are sent with the meteringinformation in their payload. The requests may not be intended toactually retrieve content, but are instead used as a vehicle to conveythe metering information. The central facility 170 is provided withsoftware (e.g., a daemon) to extract the metering information from thepayload of the request(s). Additionally or alternatively, any othermethod(s) to transfer the metering information may be used such as, forexample, an HTTP Secure protocol (HTTPS), a file transfer protocol(FTP), a secure file transfer protocol (SFTP), an HTTP and/or HTTPS GETrequest, an HTTP and/or HTTPS POST request, etc. In the illustratedexample, the central facility 170 stores and analyzes the extractedmetering information received from a plurality of different clientdevices. For example, the central facility 170 may sort and/or groupmetering information by media provider 110 (e.g., by grouping allmetering data associated with a particular media provider 110). Anyother processing of metering information may additionally oralternatively be performed. In some examples, the central facility 170adds a timestamp to the metadata upon receipt. Timestamping (e.g.,recording a time that an event occurred) enables accurate identificationand/or correlation of media that was presented and/or the time that itwas presented with the user(s) of the presentation device.

FIG. 2 is a block diagram of an example implementation of the mediamonitor 165 of FIG. 1. The media monitor 165 of the illustrated exampleof FIG. 2 includes an example media presenter 210, an example eventlistener 220, an example metadata retriever 230, an example metadataconverter 240, and an example transmitter 250.

The example media presenter 210 of FIG. 2 is implemented by a processorexecuting instructions, but it could additionally or alternatively beimplemented by an analog circuit, an ASIC, DSP, FPGA, and/or othercircuitry. In the illustrated example, the media presenter 210 interactswith a QuickTime® application programming interface (API) to displaymedia via the client device 160. While in the illustrated example, theQuickTime® API is used, any other media presenting framework mayadditionally or alternatively be employed. For example, the examplemedia presenter 210 may interact with an Adobe® Flash® mediapresentation framework. In the illustrated example, the media presenter210 reads a timed text track file. An example timed text track file isshown in FIG. 4. Upon certain timed events as defined in the timed texttrack, cued events are triggered by the media presenter 210. At a giventime such as, for example, two seconds into the presentation of themedia, a timed event may be triggered that in some examples, invokes theexample event listener 220. In the illustrated example, the datacontained in the timed text track is not displayed by the mediapresenter 210. However, in some examples, the data contained in thetimed text track is displayed by the media presenter 210.

The example event listener 220 of the illustrated example of FIG. 2 isimplemented by a logic circuit such as a processor executinginstructions, but it could additionally or alternatively be implementedby an analog circuit, an ASIC, DSP, FPGA, and/or other circuitry. Insome examples, the media presenter 210 and the event listener 220 areimplemented by the same physical processor. In the illustrated example,the example event listener 220 interfaces with JavaScript functions toenable reception of and/or listening for an event notification. WhileJavaScript is used to listen for event notifications in the illustratedexample, any other script, language, instruction set, and/or framework,such as, for example, ActiveX, Microsoft Silverlight, etc., may be usedto listen for event notifications.

The metadata retriever 230 of the illustrated example of FIG. 2 isimplemented by a logic circuit such as a processor executinginstructions, but it could additionally or alternatively be implementedby an analog circuit, an ASIC, DSP, FPGA, and/or other circuitry. Insome examples, the media presenter 210, the event listener 220, and themetadata retriever 230 are implemented by the same physical processor.In the illustrated example, the metadata retriever 230 retrievesmetadata from the media presenter 210 upon detection of an eventnotification by the event listener 220. In the illustrated example, themetadata retriever 230 retrieves the metadata by inspecting a documentobject model (DOM) object associated with the timed text track of themedia presenter 210 using JavaScript. The DOM object is a representationof the timed text track within the media presenter 210 that is createdwhen the media presenter 210 reads the timed text track file. An exampleof such retrieval is shown in block 330 and/or 350 of FIG. 3. WhileJavaScript is used to retrieve the DOM object in the illustratedexample, any other script, language, instruction set, and/or framework,such as, for example, ActiveX, Microsoft Silverlight, etc., may be usedto retrieve the DOM object.

The example metadata converter 240 of FIG. 2 is implemented by a logiccircuit such as a processor executing instructions, but it couldadditionally or alternatively be implemented by an analog circuit, anASIC, DSP, FPGA, and/or other circuitry. In some examples, the mediapresenter 210, the event listener 220, the metadata retriever 230, andthe metadata converter 240 are implemented by the same physicalprocessor. In the illustrated example, the metadata converter 240converts the metadata retrieved by the metadata retriever 230 into aconverted metadata format for transmission to the central facility 170.For example, the metadata converter 240 may encrypt, decrypt, compress,modify, etc., the metadata and/or portions of the metadata to, forexample, reduce the amount of data to be transmitted to the centralfacility 170. In the illustrated example, the metadata converter 240adds a timestamp to the metadata prior to converting the metadata.Timestamping (e.g., recording a time that an event occurred) enablesaccurate identification and/or correlation of media that was presentedand/or the time that it was presented with the user(s) of thepresentation device.

The transmitter 250 of the illustrated example of FIG. 2 is implementedby a logic circuit such as a processor executing instructions, but itcould additionally or alternatively be implemented by an analog circuit,an ASIC, DSP, FPGA, and/or other circuitry. In some examples, the mediapresenter 210, the event listener 220, the metadata retriever 230, themetadata converter 240, and the transmitter 250 are implemented by thesame physical processor. In the illustrated example, the transmitter 250transmits the converted metadata to the central facility 170 via, forexample, the Internet. While the converted metadata is transmitted insubstantially real-time in the illustrated example, in some examples,the converted metadata is stored, cached, and/or buffered before beingtransmitted to the central facility 170. Also, while the convertedmetadata is additionally or alternatively transmitted to the centralfacility 170 in the illustrated example, in some examples, the metadatais additionally or alternatively transmitted to a different destinationsuch as, for example, a display of the media monitor 165 and/or theclient device 160. Additionally or alternatively, the transmitter 250may transmit an identifier of the media monitor 165 and/or the clientdevice 160 to enable the central facility 170 to correlate the metadatawith a panelist, a group of panelists, demographic(s), etc. In theillustrated example, the central facility 170 is associated with anaudience measurement company and is not involved with the delivery ofmedia to the client device. In some examples, the central facility 170applies a timestamp upon receipt of the converted metadata.

FIG. 3 illustrates example Hypertext Markup Language (HTML) instructions300 representing a web page that may be executed by the example mediamonitor 165 of FIG. 2 when included in the client device 160 of FIG. 1.In the illustrated example, an example video tag 310 implements theexample media presenter 210 of FIG. 2. In the illustrated example, themedia presenter 210 is implemented with a media source having auniversal resource indicator (URI), a frame having a given height andwidth, and an identifier. In the illustrated example, the example videotag 310 includes a text track instruction 315 indicating a timed texttrack file associated with the video of the example video tag 310. Thetext track instruction 315 of the illustrated example indicates that thesource of the associated text track is “track_file.vtt.” However, anyother file may additionally or alternatively be used. In the illustratedexample, one text track instruction 315 is included. However, in someexamples, additional and/or alternative text track instructions areincluded. For example, additional or alternative text tracks may includeclosed captions, different versions of metadata (e.g., metadatapresented in a different format, metadata presented in a differentlanguage, metadata customized for a particular service provider, etc.),etc.

An example “addeventlistener” function 320 included in the example HTMLcode 300 of FIG. 3 implements the event listener 220 of FIG. 2. In theillustrated example, the event listener 220 is loaded by specifying theintended HTML element (e.g., the element identified as having an id of‘track’), specifying an event type (e.g., “cuechange”, etc.), andspecifying that the function “TrackChangeFunction” should be executedwhen the event is detected. In the illustrated example, the event typethat is detected is “cuechange”, which is an event that is triggered bythe media presenter 210. However, any other type of event mayadditionally or alternatively used, such as, for example, an event typeassociated with a different media presenter, an event type associatedwith a different trigger of the media presenter 210, an event typeassociated with a different program than QuickTime® (“QT”), etc.

An example instruction group function 330 included in the example HTMLcode 300 of FIG. 3 retrieves metadata associated with the HTML objectthat triggered the “TrackChangeFunction( )”. In the illustrated example,when the video tag 310 is played by the media presenter 210, events willbe triggered according to the events defined in the timed text trackfile identified by the text track instruction 315. In the illustratedexample, the metadata is retrieved from the “track” object as indicatedin the getElementById function of instruction 320. In the illustratedexample, the retrieved metadata is stored (e.g., cached, buffered, etc.)in a local variable “myCues”.

In the illustrated example, the retrieved metadata is in an ID3 format.However, in some examples the retrieved metadata may be in another past,present, and/or future format such as, for example, JavaScript ObjectNotation (JSON). In some examples, the metadata is stored as a hashvalue. In some examples, the HTML code 300 of FIG. 3 further includesfunction(s) to convert the metadata stored in a first format into asecond format.

In the illustrated example, block 350 of the example HTML code 300 ofFIG. 3 transmits the converted metadata to a text area 351 (defined inthe illustrated example as “display”). In some examples, block 350 ismodified to additionally or alternatively transmit the convertedmetadata to the central facility 170. In some examples, the metadata istransmitted in the ID3 format (block 350). In some examples, block 350transmits other information such as, for example, user identifyinginformation, client information, timestamps, identifiers, etc., inaddition or as an alternative to the metadata.

FIG. 4 illustrates example timed text track code 400 representing anexample timed text track that may be used by the example media monitorof FIG. 2. In the illustrated example, the timed text code 400 is in aWebVTT format, as indicated by a format identifier 415. However, thetimed text code 400 may be in any other past, present, and/or futureformat such as, for example, a Timed Text Markup Language (TTML) format,etc. The timed text code 400 of FIG. 4 includes a first timed event 410.The first timed event 410 includes a start time 411 and an end time 412.The first timed event 410 includes metadata 420 formatted in an ID3format. In particular, the metadata 420 includes a contentid sectionthat includes identifying information 425. In the illustrated example,the identifying information 425 identifies the media being presented viathe associated media stream.

FIG. 4 illustrates a progression through time of the associated media.For example, FIG. 4 shows time A 450, time B 460, time C 470, and time D480. In the illustrated example, during a first time period after thetime A 450 and before the time B 460, a first segment of a televisionshow is presented. During a second time period after the time B 460 andbefore the time C 470, an advertisement is presented. During a thirdtime period after the time C 470 and before the time D 480, a secondsegment of the television show is presented.

The timed text track code 400 describes cue change events that are to betriggered in association with the presentation of the media. In theillustrated example, the first time segment is identified by the firsttimed event 410. The identifying information 425 of the metadata 420 ofthe first timed event 410 identifies the first segment of the televisionshow. In the illustrated example, the first timed event 410 is triggeredafter one second of media has been presented. The first timed event 410is triggered after one second of media has been presented because, insome examples the event listener function 320 may not have loaded withinthe first second of media playback. In some examples, alternative starttimes are used such as, for example, zero seconds (e.g., no delay), fiveseconds, ten seconds, one minute, etc.

In the illustrated example, the second time period is identified by asecond timed event 440. The second timed event 440 begins one secondafter the completion of the first time segment. However, any other timedelay may additionally or alternatively be used. The second timed event440 includes metadata identifying the advertisement displayed during thesecond time segment.

In the illustrated example, the third time period is identified by athird timed event 445. The third timed event 445 begins one second afterthe completion of the second timed event 440. However, any other timedelay may additionally or alternatively be used. The third timed event445 includes metadata identifying the second segment of the televisionshow. In the illustrated example, the metadata identifying the secondsegment of the television show is different from the metadataidentifying the first segment of the television show. However, in someexamples, the metadata identifying the second segment of the televisionshow is the same as the metadata identifying the first segment of thetelevision show.

In the illustrated example, a cue change event is triggered at the startof each of the timed events (e.g., the first timed event 410, the secondtimed event 440, the third timed event 445, etc.). Thus, the timedevents 410, 440, 445 occur when the media is within a different timesegment defined by the timed text track than was previously presented(including the start of media presentation). In the illustrated example,the timed text track time segments and corresponding timed events aredivided into segments corresponding to the media presented (e.g., thefirst timed event is associated with the first segment of the televisionshow, the second timed event 440 is associated with the advertisement,etc.).

In some examples, the timed text track events are divided into fixedlength segments (e.g., five seconds, ten seconds, one minute, etc.) andare associated with the media presented within the respective fixedlength segments. Segmenting the timed text track into segmentsfacilitates accurate collection of media monitoring data, as more datapoints representing various times within the media presentation arecollected. When used with timestamps, using small segments (e.g., thirtyseconds, one minute, etc.) facilitates detection of other mediainteraction events such as, for example, skip, stop, pause, play, eventsbecause expected time durations between timed text track cue changes canbe compared to actual time durations between timed text track cuechanges. In some examples, the timed text track is not divided intoseparate segments and includes a single segment spanning the entirepresentation of the media.

While example manners of implementing the service provider 120 of FIG. 1and/or the example media monitor 165 of FIGS. 1 and/or 2 have beenillustrated in FIGS. 1 and/or 2, one or more of the elements, processesand/or devices illustrated in FIGS. 1 and/or 2 may be combined, divided,re-arranged, omitted, eliminated and/or implemented in any other way.Further, the example media identifier 125, the example transcoder 130,the example metadata embedder 135, the example media transmitter 140,and/or, more generally, the example service provider 120 of FIG. 1,and/or the example media presenter 210, the example event listener 220,the example metadata retriever 230, the example metadata converter 240,the example transmitter 250, and/or, more generally, the example mediamonitor 165 of FIGS. 1 and/or 2 may be implemented by hardware,software, firmware and/or any combination of hardware, software and/orfirmware. Thus, for example, any of the example media identifier 125,the example transcoder 130, the example metadata embedder 135, theexample media transmitter 140, and/or, more generally, the exampleservice provider 120 of FIG. 1, and/or the example media presenter 210,the example event listener 220, the example metadata retriever 230, theexample metadata converter 240, the example transmitter 250, and/or,more generally, the example media monitor 165 of FIGS. 1 and/or 2 couldbe implemented by one or more circuit(s), programmable processor(s),application specific integrated circuit(s) (ASIC(s)), programmable logicdevice(s) (PLD(s)) and/or field programmable logic device(s) (FPLD(s)),etc. When any of the apparatus or system claims of this patent are readto cover a purely software and/or firmware implementation, at least oneof the example media identifier 125, the example transcoder 130, theexample metadata embedder 135, the example media transmitter 140, theexample media presenter 210, the example event listener 220, the examplemetadata retriever 230, the example metadata converter 240, and/or theexample transmitter 250 are hereby expressly defined to include atangible computer readable medium such as a memory, DVD, CD, Blu-ray,etc. storing the software and/or firmware. Further still, the examplemedia identifier 125, the example transcoder 130, the example metadataembedder 135, the example media transmitter 140, and/or, more generally,the example service provider 120 of FIG. 1, and/or the example mediapresenter 210, the example event listener 220, the example metadataretriever 230, the example metadata converter 240, the exampletransmitter 250, and/or, more generally, the example media monitor 165of FIGS. 1 and/or 2 may include one or more elements, processes and/ordevices in addition to, or instead of, those illustrated in FIGS. 1and/or 2, and/or may include more than one of any or all of theillustrated elements, processes and devices.

Flowcharts representative of example machine-readable instructions forimplementing the service provider 120 of FIG. 1 and/or the media monitor165 of FIGS. 1 and/or 2 are shown in FIGS. 5 and/or 6. In theseexamples, the machine-readable instructions comprise a program forexecution by a logic circuit such as the processor 812 shown in theexample processor platform 800 discussed below in connection with FIG.8. The program(s) may be embodied in software stored on a tangiblecomputer-readable medium such as a computer readable storage medium(e.g., a CD-ROM, a floppy disk, a hard drive, a digital versatile disk(DVD), a Blu-ray disk, or a memory associated with the processor 812),but the entire program and/or parts thereof could alternatively beexecuted by a device other than the processor 812 and/or embodied infirmware or dedicated hardware. Further, although the example program isdescribed with reference to the flowcharts illustrated in FIGS. 5 and/or6, many other methods of implementing the example the example serviceprovider 120 of FIG. 1 and/or the example media monitor 165 of FIGS. 1and/or 2 may alternatively be used. For example, the order of executionof the blocks may be changed, and/or some of the blocks described may bechanged, eliminated, or combined.

As mentioned above, the example processes of FIGS. 5 and/or 6 may beimplemented using coded instructions (e.g., computer-readableinstructions) stored on a tangible computer-readable medium such as acomputer readable storage medium (e.g., a hard disk drive, a flashmemory, a read-only memory (ROM), a compact disk (CD), a digitalversatile disk (DVD), a cache, a random-access memory (RAM)) and/or anyother storage media in which information is stored for any duration(e.g., for extended time periods, permanently, brief instances, fortemporarily buffering, and/or for caching of the information). As usedherein, the term tangible computer-readable medium is expressly definedto include any type of computer-readable storage medium and to excludepropagating signals. Additionally or alternatively, the exampleprocesses of FIGS. 5 and/or 6 may be implemented using codedinstructions (e.g., computer-readable instructions) stored on anon-transitory computer-readable medium such as a hard disk drive, aflash memory, a read-only memory, a compact disk, a digital versatiledisk, a cache, a random-access memory and/or any other storage media inwhich information is stored for any duration (e.g., for extended timeperiods, permanently, brief instances, for temporarily buffering, and/orfor caching of the information). As used herein, the term non-transitorycomputer-readable medium is expressly defined to include any type ofcomputer-readable medium and to exclude propagating signals. As usedherein, when the phrase “at least” is used as the transition term in apreamble of a claim, it is open-ended in the same manner as the term“comprising” is open ended. Thus, a claim using “at least” as thetransition term in its preamble may include elements in addition tothose expressly recited in the claim.

FIG. 5 is a flowchart representative of example machine-readableinstructions 500 which may be executed to implement the example serviceprovider 120 of FIG. 1. Execution of the example machine-readableinstructions 500 of FIG. 5 begins with the media identifier 125 of theservice provider 120 receiving the media from the media provider 110(block 510). In the illustrated example, the media is received as it isbroadcast (e.g., live). However, in some examples, the media is storedand/or cached by the media identifier 125.

The media identifier 125 of the illustrated example then identifies themedia (block 520). The media identifier 125 identifies the media byextracting metering data (e.g., signatures, watermarks, codes, etc.)from the media. Based on the extracted metering data, the mediaidentifier 125 generates metadata (block 530). In the illustratedexample, the metadata is generated in an ID3 format. However, any othermetadata format may additionally or alternatively be used. Further, inthe illustrated example, the metadata is generated based on theextracted metering data. However, in some examples, the metadata may begenerated by querying an external source using some or all of theextracted metering data.

The media is then transcoded by the transcoder 130 of the serviceprovider 120 (block 540). In the illustrated example, the media istranscoded into an MPEG2 transport stream that may be transmitted viaHTTP live streaming (HLS). In particular, the metadata embedder 135 ofthe service provider 120 embeds the metadata into a timed text trackassociated with the HLS stream (block 550). In the illustrated example,the metadata is embedded in a timed text track document that is externalto the HLS stream. However, in some examples, the metadata is embeddedinto the media itself as, for example, closed captioning data. Forexample, the timed text track information may be encoded in an MPEG2transport stream as closed captioning data that may trigger timed eventsin a similar manner to an external timed text track. In the illustratedexample, the metadata embedded into the timed text track identifiesdifferent media being presented at different times.

The media is then transmitted by the media transmitter 140 of theservice provider 120 (block 560). In the illustrated example, the mediais transmitted using HTTP live streaming (HLS). However, any otherformat and/or protocol for transmitting (e.g., broadcasting, unicasting,multicasting, etc.) media may additionally or alternatively be used.

FIG. 6 is a flowchart representative of example machine-readableinstructions 600 which may be executed to implement the example mediamonitor 165 of FIGS. 1 and/or 2. Execution of the examplemachine-readable instructions 600 of FIG. 6 begins with the mediamonitor 165 being loaded by the client device 160. The media presenter210 of the media monitor 165 then begins presenting media (block 610)by, for example, loading a display object for presentation via theclient device 160. In the illustrated example, the display object is aQuickTime® object. However, any other type of display object mayadditionally or alternatively be used. When presenting the media, themedia presenter 210 retrieves the timed text track file identified inassociation with the media (e.g., associated with the display object).

The event listener 220 of the media monitor 165 begins listening for anevent (block 620). In the illustrated example, the event listener 220listens for a JavaScript event triggered by the media presenter 210. Inthe illustrated example, the JavaScript event is a timed text track cuechange event. However, in some examples, the event listener 220 listensfor any other event(s) such as, for example, a media change event, auser interaction event (e.g., when a user clicks on an object), adisplay event (e.g., a page load), etc. If the event listener 220 doesnot detect an event, the event listener 220 continues to listen for theevent until the media monitor 165 is closed. Unlike subtitling and/oradvertisement display systems, the media monitor 165 of the illustratedexample does not display information upon detection of the timed texttrack cue change event. For example, a subtitling and/or advertisementsystem may display subtitles and/or advertisements to a user during themedia presentation based on timed text track cue change events and/orbased on whether subtitles and/or advertisements are enabled within themedia monitor 165. In contrast, data associated with the timed texttrack cue change event is not displayed to the user, regardless ofwhether subtitles and/or advertisements are enabled within the mediamonitor 165.

If the event listener 220 detects an event, the metadata retriever 230of the media monitor 165 retrieves the metadata (block 630) from a DOMobject representing the timed text track. In particular, in theillustrated example, the event listener 220 passes an event object tothe metadata retriever 230. The metadata retriever 230 inspects theevent object to retrieve the metadata. However, in some examples, theevent listener 220 passes an identifier of an object (e.g., the mediapresenter 210 display object), which indicates the object from which themetadata retriever 230 is to retrieve metadata. In the illustratedexample, the metadata is formatted as an ID3 tag. However, any otherformat of metadata may additionally or alternatively be used.

The metadata converter 240 of the media monitor 165 then converts themetadata (block 640) into a format for use by the transmitter 250 of themedia monitor 165. In the illustrated example, the metadata is convertedfrom a binary data format into a text format. In some examples, themetadata is parsed to identify portions (e.g., fields, sections, etc.)of interest of the metadata (e.g., a genre, an artist, a song title, analbum name, a transmitting station/server site, etc.). In some examples,the metadata converter 240 embeds an identifier of the presentationdevice and/or an identifier of a user of the presentation device in themetadata. Including the identifier(s) of the presentation device and/orthe user of the presentation device enables the central facility 170 tocorrelate the media that was presented with the presentation deviceand/or the user(s) of the presentation device. In the illustratedexample, the metadata converter 240 adds a timestamp to the metadataprior to transmitting the metadata to the central facility 170.Timestamping (e.g., recording a time that an event occurred) enablesaccurate identification and/or correlation of media that was presentedand/or the time that it was presented with the user(s) of thepresentation device.

In some examples, the metadata may not undergo conversion beforetransmission by the transmitter (e.g., the metadata may be sent in theformat in which it is retrieved by the metadata retriever 230). In suchexamples, the central facility 170 converts the metadata into a formatfor use by the central facility 170 by, for example, converting themetadata to a different format, parsing the metadata to identifyportions of interest of the metadata, etc. Conversion of the metadata bythe central facility 170 facilitates correlation of the media that waspresented with an identifier identifying to whom the media waspresented. In some examples, the central facility 170 timestamps themetadata upon receipt. Timestamping the metadata enables accurateidentification and/or correlation of media that was presented and/or thetime that it was presented with the user(s) of the presentation device.

The transmitter 250 then transmits the metadata to the central facility170 (block 650). In the illustrated example, the metadata is transmittedusing an HTTP Post request. However, any other method of transmittingdata and/or metadata may additionally or alternatively be used. Forexample, a file transfer protocol (FTP), an HTTP Get request,Asynchronous JavaScript and extensible markup language (XML) (AJAX),etc., may be used to transmit the metadata. In some examples, themetadata is not transmitted to the central facility 170. For example,the metadata may be transmitted to a display object of the client device160 for display to a user. In the illustrated example, the metadata istransmitted in real-time (e.g., streamed) to the central facility 170.However, in some examples, the metadata may be stored (e.g., cached,buffered, etc.) for a period of time before being transmitted to thecentral facility 170.

FIG. 7 is a block diagram of an example implementation of an example HLSstream 700 that may be displayed by the example media monitor of FIG. 2.In the illustrated example of FIG. 7, the HLS stream 700 includes amanifest 710 and three transport streams. However, any other numberand/or type of transport streams may additionally or alternatively beused. In the illustrated example, the example HTML instructions 300 ofFIG. 3 include an instruction to load the manifest 710. In theillustrated example, the example HTML instructions 300 of FIG. 3 includean instruction to load the timed text track 400 of FIG. 4. In theillustrated example, the manifest 710 is an .m3u8 file that describesthe available transport streams to the client device. However, any otherpast, present, and/or future file format may additionally oralternatively be used. In some examples, the manifest 710 may be omittedand the media monitor 165 may directly access a transport stream. In theillustrated example, the client device retrieves the manifest 710 inresponse to an instruction to display an HLS element (e.g., a videoelement). For example, block 310 of FIG. 3 includes an instruction thatthe client device should present the HLS element identified by themanifest 710 stored at “movie.mp4”.

HLS is an adaptive format, in that, although multiple devices retrievethe same manifest 710, different transport streams may be displayeddepending on one or more factors. For example, devices having differentbandwidth availabilities (e.g., a high speed Internet connection, a lowspeed Internet connection, etc.) and/or different display abilities(e.g., a small size screen such as a cellular phone, a medium sizescreen such as a tablet and/or a laptop computer, a large size screensuch as a television, etc.) select an appropriate transport stream fortheir display and/or bandwidth abilities. In some examples, a cellularphone having a small screen and limited bandwidth uses a low resolutiontransport stream. Alternatively, in some examples, a television having alarge screen and a high speed Internet connection uses a high resolutiontransport stream. As the abilities of the device change (e.g., thedevice moves from a high speed Internet connection to a low speedInternet connection) the device may switch to a different transportstream.

In the illustrated example of FIG. 7, a high resolution transport stream720, a medium resolution transport stream 730, and a low resolutiontransport stream 740 are shown. In the illustrated example, eachtransport stream 720, 730, and/or 740 represents a portion of theassociated media (e.g., five seconds, ten seconds, thirty seconds, oneminute, etc.). Accordingly, the high resolution transport stream 720corresponds to a first portion of the media, a second high resolutiontransport stream 721 corresponds to a second portion of the media, athird high resolution transport stream 722 corresponds to a thirdportion of the media. Likewise, the medium resolution transport stream730 corresponds to the first portion of the media, a second mediumresolution transport stream 731 corresponds to the second portion of themedia, and a third medium resolution transport stream 732 corresponds tothe third portion of the media. In addition, the low resolutiontransport stream 740 corresponds to the first portion of the media, asecond low resolution transport stream 741 corresponds to the secondportion of the media, and a third low resolution transport stream 742corresponds to the third portion of the media. Although three transportstreams are shown in the illustrated example of FIG. 7 for eachresolution, any number of transport streams representing any number ofcorresponding portions of the media may additionally or alternatively beused.

In the illustrated example, each transport stream 720, 721, 722, 730,731, 732, 740, 741, and/or 742 includes a video stream 750, 751, 752, anaudio stream 755, 756, 752, and a metadata stream 760, 761, 762. Thevideo stream 750, 751, and/or 752 includes video associated with themedia at different resolutions according to the resolution of thetransport stream with which the video stream is associated. The audiostream 755, 756, and/or 757 includes audio associated with the media.The metadata stream 760, 761, and/or 762 includes metadata such as, forexample, timed text track data, a link to the timed text track data,closed captioning data, and/or an ID3 tag associated with the media. Insome examples, the metadata stream 760, 761, and/or 762 is not includedas the information used to measure exposure to streaming media mayalready be transmitted to the media monitor 165 as the timed text track400. In some examples, the metadata stream 760, 761, and/or 762 includesinformation that is not contained in the timed text track 400 (e.g.,closed captioning information, etc.)

FIG. 8 is a block diagram of an example processor platform 800 capableof executing the example machine-readable instructions of FIGS. 5 and/or6 to implement the example service provider 120 of FIG. 1 and/or theexample media monitor 165 of FIGS. 1 and/or 2. The example processorplatform 800 can be, for example, a server, a personal computer, amobile phone (e.g., a cell phone), a tablet, a personal digitalassistant (PDA), an Internet appliance, a DVD player, a CD player, adigital video recorder, a Blu-ray player, a gaming console, a personalvideo recorder, a set top box, or any other type of computing device.

The system 800 of the instant example includes a processor 812. Forexample, the processor 812 can be implemented by one or moremicroprocessors or controllers from any desired family or manufacturer.

The processor 812 includes a local memory 813 (e.g., a cache) and is incommunication with a main memory including a volatile memory 814 and anon-volatile memory 816 via a bus 818. The volatile memory 814 may beimplemented by Synchronous Dynamic Random Access Memory (SDRAM), DynamicRandom Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM)and/or any other type of random access memory device. The non-volatilememory 816 may be implemented by flash memory and/or any other desiredtype of memory device. Access to the main memory 814, 816 is controlledby a memory controller.

The computer 800 also includes an interface circuit 820. The interfacecircuit 820 may be implemented by any type of interface standard, suchas an Ethernet interface, a universal serial bus (USB), and/or a PCIexpress interface.

One or more input devices 822 are connected to the interface circuit820. The input device(s) 822 permit a user to enter data and commandsinto the processor 812. The input device(s) can be implemented by, forexample, a keyboard, a mouse, a touchscreen, a track-pad, a trackball,isopoint and/or a voice recognition system.

One or more output devices 824 are also connected to the interfacecircuit 820. The output devices 824 can be implemented, for example, bydisplay devices (e.g., a liquid crystal display, a cathode ray tubedisplay (CRT), a printer and/or speakers). The interface circuit 820,thus, typically includes a graphics driver card.

The interface circuit 820 also includes a communication device (e.g.,the media transmitter 140, the transmitter 250) such as a modem ornetwork interface card to facilitate exchange of data with externalcomputers via a network 826 (e.g., an Ethernet connection, a digitalsubscriber line (DSL), a telephone line, coaxial cable, a cellulartelephone system, etc.).

The computer 800 also includes one or more mass storage devices 828 forstoring software and data. Examples of such mass storage devices 828include floppy disk drives, hard drive disks, compact disk drives, anddigital versatile disk (DVD) drives.

The coded instructions 832 of FIGS. 5 and/or 6 may be stored in the massstorage device 828, in the volatile memory 814, in the non-volatilememory 816, in the local memory 813, and/or on a removable storagemedium such as a CD or DVD.

Although certain example methods, apparatus, and articles of manufacturehave been described herein, the scope of coverage of this patent is notlimited thereto. On the contrary, this patent covers all methods,apparatus, and articles of manufacture fairly falling within the scopeof the claims of this patent.

1. A method of measuring exposure to streaming media, the methodcomprising: extracting metering data from media obtained from a mediaprovider; generating metadata identifying the media based on theextracted metering data; transcoding the media into a transport stream,the transport stream having a streaming format; and embedding themetadata in a timed text track accompanying the transport stream.
 2. Themethod as described in claim 1, further comprising transmitting thetransport stream and the timed text track to a requesting device.
 3. Themethod as described in claim 2, wherein the media is obtained from themedia provider in response to a request from the requesting device. 4.The method as described in claim 1, wherein the media obtained from themedia provider is live media.
 5. The method as described in claim 1,wherein the media obtained from the media provider is stored media. 6.The method as described in claim 1, wherein the streaming format is aHyperText Transfer Protocol (HTTP) Live Streaming (HLS) format.
 7. Themethod as described in claim 1, wherein the metering data comprises dataencoded in a watermark transmitted with the media.
 8. The method asdescribed in claim 7, wherein the watermark is an audio watermark. 9.The method as described in claim 7, wherein the watermark is a videowatermark.
 10. The method as described in claim 1, wherein the metadatais formatted as an ID3 tag.
 11. An apparatus to measure exposure tostreaming media, the apparatus comprising: a media identifier togenerate metadata identifying media based on metering data extractedfrom the media; a transcoder to transcode the media into a transportstream; and a metadata embedder to embed the metadata in a timed texttrack associated with the transport stream.
 12. The apparatus asdescribed in claim 11, further comprising a media transmitter totransmit the transport stream and the timed text track.
 13. Theapparatus as described in claim 11, wherein the transport stream isformatted in a streaming format.
 14. The apparatus as described in claim13, wherein the streaming format is a HyperText Transfer Protocol (HTTP)Live Streaming (HLS) format.
 15. The apparatus as described in claim 11,wherein the metadata is formatted as an ID3 tag.
 16. A machine-readablestorage medium comprising instructions which, when executed, cause amachine to at least: extract metering data from media obtained from amedia provider; generate metadata identifying the media based on theextracted metering data; transcode the media into a transport stream,the transport stream having a streaming format; and embed the metadatain a timed text track accompanying the transport stream.
 17. Themachine-readable medium as described in claim 16, further comprisinginstructions which, when executed, cause the machine to transmit thetransport stream and the timed text track to a requesting device. 18.The machine-readable medium as described in claim 17, wherein the mediais obtained from the media provider in response to a request from therequesting device.
 19. The machine-readable medium as described in claim16, wherein the media obtained from the media provider is live media.20. The machine-readable medium as described in claim 16, wherein themedia obtained from the media provider is stored media.
 21. Themachine-readable medium as described in claim 16, wherein the streamingformat is a HyperText Transfer Protocol (HTTP) Live Streaming (HLS)format.
 22. The machine-readable medium as described in claim 16,wherein the metering data comprises data encoded in a watermarktransmitted with the media.
 23. The machine-readable medium as describedin claim 22, wherein the watermark is an audio watermark.
 24. Themachine-readable medium as described in claim 22, wherein the watermarkis a video watermark.
 25. The machine-readable medium as described inclaim 16, wherein the metadata is formatted as an ID3 tag. 26-40.(canceled)